Parallel Episodic Processing (PEP) Model Version 2.1.0 MULTITHREADING NOTES The PEP model takes advantage of multiprocessor system capabilities by using multithreading. This aids in simulation times with modern computers with multiple cores. The number of threads can be set in the maxThreads variable in the Main method. This number shouldn't exceed the number of processors (or processors x 2 with hyper-threading processors like Intel i7), less at least one for other system processes. The simulation times for multiple threads do seem to be limited by memory bandwidth. Thus, gains from increasing the number of threads will tend to diminish with each added thread. From my experience, little is gained after 3 or 4 threads. SOURCE FILES Source files are formatted with four tab-delimited columns of integers (0 to n-1). These columns, in order, represent: (1) correct response - technically, this should always be exactly the same as the value in the targets column, unless other changes have been made to the model to allow for something other than 1-to-1 target-response mappings (2) targets (3) distracters - muliple distracting columns possible (4) condition - multiple condition columns possible (congruency is automatically the first if congruency is manipulated) MAIN.JAVA VARIABLES To lesion the attentional wandering device see the "Attenional Wandering" section of Attention.java. To lesion temporal learning, see the monitorTemp() method in RunTime.java. For running previous simulations, see the instructions file of the corresponding version. To simulate other paradigms, the following variables can be adjusted in the "VARIABLES" section of Main.java. These are: ---Basic Experiment Information------------------------------------------------- source (String) - Filename where condition information is saved (these are included with the download) nSubjects (integer) - Number of "subjects" to run (default = 500) maxThreads (integer) - Number of concurrent threads to run (default = 3) ---Structure of Task------------------------------------------------------------ isReplace (boolean) - "true" = random with replacement, "false" = without nBlocks (integer array) - Number of blocks per subject, multiple sets possible nSamples (integer) - Number of trials (only for with replacement) twoTasks (boolean) - "true" = two alternating tasks isPaired (boolean) - "true" = trial pairs in fixed sequence ---Stimulus Characteristics----------------------------------------------------- nResponses (integer) - Number of responses (normally the same as nTargets) nTargets (integer) - Number of targets (e.g., colours) nDistracters (integer array) - Number of distracters, multiple sets possible nConflicting (integer) - Number of distracters that can conflict (distracters above this limit are neutral) isConflict (boolean) - Determines whether distracters conflict (true) or not nPerVar (integer array) - Number of conditions (multiple variables possible) ---Stimulus Inputs (Only Useful for Degraded Stimuli)---------------------------- tBias, tSignal, dBias, & dSignal - fixed input variables (do not change) tDegrade - Sets input signal for degraded stimuli (default = .65) isDegrade - Determines whether stimuli are degraded ---Trial Timing Information (Normally Only Adjusted with Prime-Probe)------------ tOnset, tOffset, dOnset, & dOffset (integers) - Stimulus onset and offset of the target (t) and distracter (d) dMask (integer) - Distracter mask (e.g., by the target) trialLength - Number of cycles before "no response" is made (default = 2000), longer times appropriate for paradigms where target onset is delayed (e.g., prime-probe) or to match original study design isi (integer) - The number of blank cycles between trials (default = 300) --------------------------------------------------------------------------------- The values used for each simulation are included in the parameters.txt file. These can simply be copy-pasted into the Main.java "VARIABLES" section. Note that most variables in the VARIABLES section can be ignored. Some of these are default parameters that shouldn't be changed. Others are for coding for unrelated effects in different paradigms. Questions about any other parameters can be addressed to me via email at: james.schmidt@ugent.be. RUNNING A SIMULATION After setting your variables in Main.java, you can run the main project. You should be using a software development kit (SDK), such as the Java Development Kit (JDK), and an integrated development environment (IDE), such as NetBeans. It is important that your source file is with your java class files so that the compiler can find the trials that it will present to the model. Running the project will cause the model to simulate all participants with a different random trial order. The model will also create a tab-delimited text file called Means.txt that will contain the mean response time and percentage error for each "participant" in each condition. This is created by DataAnalysis.java and can be run independently of the rest of the model. The model also produces a large Dataset.txt file with full datasets of all participants concatenated together. This method also codes for previous RT and previous accuracy. Note that any simulation results that you want to keep should be removed from your source folder before starting a new simulation run, as new datafiles will overwrite old ones. To analyse congruency sequence (Gratton) effects, see the "Sequence Analysis Variables" in DataAnalysis.java. Specifically: isCheckSeq (boolean) - set to "true" to analyses previous congruency isTrimmed (boolean) - set to "true" to delete feature repetitions isAllSeq (boolean) - set to "true" to separately assess each kind of feature repetition